cmake_minimum_required(VERSION 3.30.0)
project(YZKCPP VERSION 0.1.0 LANGUAGES C CXX)
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libraries")

# 设置发布者信息
set(PROJECT_PUBLISHER "Hua huo")

# 设置你的应用程序的源文件
set(SOURCE_FILES
    main.cpp
    DataSheet.cpp
    NowTime.cpp
    ui_main.cpp
    # 其他源文件...
)

# 创建可执行文件
add_executable(YZKCPP ${SOURCE_FILES})

# 链接Windows相关库以及指定子系统的正确方式
target_link_libraries(YZKCPP
    PRIVATE
    kernel32.lib
    user32.lib
    gdi32.lib
    winspool.lib
    shell32.lib
    ole32.lib
    oleaut32.lib
    uuid.lib
    comdlg32.lib
    advapi32.lib
    "-Wl,--subsystem,windows"
)

# 假设你的动态链接库位于以下路径
set(DLL_PATHS
    "${CMAKE_CURRENT_SOURCE_DIR}/dlls"
)

# 获取所有动态链接库文件
file(GLOB DLL_FILES "${DLL_PATHS}/*.dll")

# 为每个动态链接库文件添加一个自定义命令，在构建时复制它们
foreach(DLL_FILE ${DLL_FILES})
    add_custom_command(TARGET YZKCPP POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E copy_if_different
        "${DLL_FILE}"
        "$<TARGET_FILE_DIR:YZKCPP>/"
    )
endforeach()

# SET(CMAKE_BUILD_TYPE Release)